package pe.gob.osce.sirenas.svc;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.ResourceBundle;

import javax.ejb.EJB;
import javax.ejb.Stateless;

import org.apache.log4j.Logger;

import pe.gob.osce.sirenas.dao.ContratacionesDAOLocal;
import pe.gob.osce.sirenas.model.servicios.EntidadDTO;
import pe.gob.osce.sirenas.model.servicios.ObjetoContratacionDTO;
import pe.gob.osce.sirenas.model.servicios.ProcesoProdDTO;
import pe.gob.osce.sirenas.util.ConstanteEJB;
import pe.gob.osce.sirenas.util.ModeloException;


/**
 * Session Bean implementation class RegistrarIncidenciaServiceImpl
 */
@Stateless(mappedName = "BuscarContratacionesService")
public class BuscarContratacionesServiceImpl implements BuscarContratacionesServiceLocal {
	final static Logger log = Logger.getLogger(BuscarContratacionesServiceImpl.class);

	@EJB
	private ContratacionesDAOLocal contratacionesDAOLocal;

	ResourceBundle propSirenas = ResourceBundle.getBundle(ConstanteEJB.PROPERTIES);


	@Override
	public	List<EntidadDTO> obtenerListaEntidad(EntidadDTO entidadDTO) throws Exception {
		List<EntidadDTO> listaEntidadesDTO=new ArrayList<EntidadDTO>();
		try {
			listaEntidadesDTO=contratacionesDAOLocal.listaEntidadesDTO(entidadDTO);
		} catch (ModeloException e) {
			throw new Exception(e.getMessage(),e);
		} catch (Exception e) {
			throw new ModeloException(propSirenas.getString(ConstanteEJB.EXC_MODELO_GENERAL_DB),e);
		}
		return listaEntidadesDTO;
	}

	@Override
	public	List<ObjetoContratacionDTO> obtenerListaObjetoContratacion() throws Exception{

		List<EntidadDTO> listaEntidadesDTO=new ArrayList<EntidadDTO>();
		try {
			/**Invocar al metodo correcto*/
			listaEntidadesDTO=contratacionesDAOLocal.listaEntidadesDTO(new EntidadDTO());
		} catch (ModeloException e) {
			throw new Exception(e.getMessage(),e);
		} catch (Exception e) {
			throw new ModeloException(propSirenas.getString(ConstanteEJB.EXC_MODELO_GENERAL_DB),e);
		}
		return new ArrayList<ObjetoContratacionDTO>();
	}
	@Override
	
	public	List<ProcesoProdDTO> obtenerListaProcesoProd() throws Exception{

		List<EntidadDTO> listaEntidadesDTO=new ArrayList<EntidadDTO>();
		try {
			/**Invocar al metodo correcto*/
			listaEntidadesDTO=contratacionesDAOLocal.listaEntidadesDTO(new EntidadDTO());
		} catch (ModeloException e) {
			throw new Exception(e.getMessage(),e);
		} catch (Exception e) {
			throw new ModeloException(propSirenas.getString(ConstanteEJB.EXC_MODELO_GENERAL_DB),e);
		}
		return new ArrayList<ProcesoProdDTO>();
	}

}
